package com.soft.cqlinglong.oto.web.login;

import com.soft.cqlinglong.oto.dao.model.TSUser;
import com.soft.cqlinglong.oto.service.permission.TSUserService;
import com.soft.cqlinglong.oto.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Map;

/**
 * @author 黄学乾 778142659@qq.com
 * @create 2017-06-04 12:58
 **/
@Controller
public class LoginController extends BaseController {
    @Autowired(required = false)
    private TSUserService tsUserService;
    /**
     * 登录的时候默认加载方法
     */
    @RequestMapping("login")
    public ModelAndView login() {
        ModelAndView login = new ModelAndView("login/login");
        return login;
    }

    /**
     * @param userName 登录用于名{姓名，用户名，邮箱，电话号码}
     * @param password 登录的密码
     * @param loginType 登录的方式， 第三方登录 或者 人脸识别功能登录
     */
    @RequestMapping("loginSubmit")
    @ResponseBody
    public Map<String, Object> loginCommint(HttpServletRequest request, String userName,
                                            String password, String loginType) {
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("url", "/login.htm");
            try {
                TSUser tsUser = new TSUser();
                tsUser.setLoginName(userName);
                tsUser.setPassword(password);
                TSUser tsLogUser = tsUserService.findTSUser(tsUser);
                if(tsLogUser!=null){
                    map.put("url", "/system/homePage/sitemesh/homePage.htm");
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        return map;
    }

    /**
     * 清除当前登录人的信息， 便于下次登录 ， 防止其他人登录，使用安全保护措施， 例如QQ通知 或者 微信通知 或者 短信通知
     */
    @RequestMapping("loginOut")
    public ModelAndView loginOut() {
        ModelAndView  mv = new ModelAndView("login/login");

        return mv;
    }

}
